package com.web.exiaodao.business.entity;

import com.web.webstart.base.entity.BaseEntity;
import com.wordnik.swagger.annotations.ApiModel;
import com.wordnik.swagger.annotations.ApiModelProperty;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * @author eason
 * @ClassName: walletTradeRecord
 * @Description: 钱包-交易记录,交易明细定义表
 * @date 2017-01-22 18:34:39
 */
@Entity
@Table(name = "tb_xa_wallettraderecord")
@ApiModel(value = "钱包-交易记录,交易明细定义表")
public class WalletTradeRecord extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "用户id,用户id")
    private Long userId;
    @ApiModelProperty(value = "交易金额,交易金额")
    private Double money;
    @ApiModelProperty(value = "交易类型,交易类型(1:充值 2:提现 3:消费 4:佣金分成)")
    private Integer tradeType;
    @ApiModelProperty(value = "收支类型,收支类型，1收入，-1支出")
    private Integer incomeExpendType;
    @ApiModelProperty(value = "收支方式,收支方式（0:e孝道平台，1:支付宝）")
    private Integer incomeExpendMethod;
    @ApiModelProperty(value = "交易备注,交易备注")
    private String remarks;
    @ApiModelProperty(value = "交易订单号,交易订单号(关联充值记录订单号；提现记录订单号；购买商品的订单号)")
    private String tradeOrderNo;
    /**
     * @see com.web.exiaodao.remote.vo.WalletTradeRecordVo
     * @see com.web.exiaodao.business.constant.JConstant.WalletTradeStatus
     */
    @ApiModelProperty(value = "交易状态,0:交易完成 1：交易进行中（提现需要时间）2：交易关闭(如：提现失败)")
    private Integer tradeStatus;
    @ApiModelProperty(value = "该笔交易完成对应的账号余额,该笔交易完成对应的账号余额")
    private Double accountBalance;
    @ApiModelProperty(value = "提现交易关闭/完成时间,提现交易关闭/完成时间")
    private String tradeCloseDateTime;


    public void setUserId(Long userId) {
        this.userId = userId;
    }

    @Column(nullable = true, length = 50)
    public Long getUserId() {
        return userId;
    }

    public void setMoney(Double money) {
        this.money = money;
    }

    @Column(nullable = true, length = 50)
    public Double getMoney() {
        return money;
    }

    public void setTradeType(Integer tradeType) {
        this.tradeType = tradeType;
    }

    @Column(nullable = true, length = 50)
    public Integer getTradeType() {
        return tradeType;
    }

    public void setIncomeExpendType(Integer incomeExpendType) {
        this.incomeExpendType = incomeExpendType;
    }

    @Column(nullable = true, length = 50)
    public Integer getIncomeExpendType() {
        return incomeExpendType;
    }

    public void setIncomeExpendMethod(Integer incomeExpendMethod) {
        this.incomeExpendMethod = incomeExpendMethod;
    }

    @Column(nullable = true, length = 50)
    public Integer getIncomeExpendMethod() {
        return incomeExpendMethod;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    @Column(nullable = true, length = 255)
    public String getRemarks() {
        return remarks;
    }

    public void setTradeOrderNo(String tradeOrderNo) {
        this.tradeOrderNo = tradeOrderNo;
    }

    @Column(nullable = true, length = 50)
    public String getTradeOrderNo() {
        return tradeOrderNo;
    }

    public void setTradeStatus(Integer tradeStatus) {
        this.tradeStatus = tradeStatus;
    }

    @Column(nullable = true, length = 50)
    public Integer getTradeStatus() {
        return tradeStatus;
    }

    public void setAccountBalance(Double accountBalance) {
        this.accountBalance = accountBalance;
    }

    @Column(nullable = true, length = 50)
    public Double getAccountBalance() {
        return accountBalance;
    }

    public String getTradeCloseDateTime() {
        return tradeCloseDateTime;
    }

    public void setTradeCloseDateTime(String tradeCloseDateTime) {
        this.tradeCloseDateTime = tradeCloseDateTime;
    }
}
